/******************************************************************************
 * @File name   :      IReportService.java
 *
 * @Author      :      LUZHANG
 *
 * @Date        :      Sep 1, 2015
 *
 * @Copyright Notice: 
 * Copyright (c) 2015 Capgemini, Inc. All  Rights Reserved.
 * This software is published under the terms of the Capgemini Software
 * License version 1.0, a copy of which has been included with this
 * distribution in the LICENSE.txt file.
 * 
 * 
 * ----------------------------------------------------------------------------
 * Date                   Who         Version        Comments
 * Sep 1, 2015 5:56:34 PM        LUZHANG     1.0            Initial Version
 *****************************************************************************/
package com.cap.bts.crmdp.dealer.report.service;

import java.util.List;

import com.cap.bts.crmdp.dealer.report.dto.InventoryResultDto;
import com.cap.bts.crmdp.dealer.report.dto.MemberChartResultDto;
import com.cap.bts.crmdp.dealer.report.dto.MemberReportResultDto;
import com.cap.bts.crmdp.dealer.report.dto.ReportQueryDto;
import com.cap.bts.crmdp.dealer.report.dto.SalesReportDetailsDto;
import com.cap.bts.crmdp.dealer.report.dto.TranHistoryDto;
import com.cap.bts.crmdp.dealer.report.dto.SalesReportResultDto;
import com.cap.bts.framework.common.exception.AppException;
import com.cap.bts.framework.common.service.IBaseService;

/**
 *
 */
public interface IReportService extends IBaseService {

    public InventoryResultDto queryInventoryData(ReportQueryDto dto);
    public String queryInventoryDataForChart(ReportQueryDto dto) throws AppException;
    public MemberReportResultDto queryMemberData(ReportQueryDto dto);
    public MemberReportResultDto queryMemberDetails(ReportQueryDto dto);
    public MemberChartResultDto queryMemberDataForChart(ReportQueryDto dto) throws AppException;
    public SalesReportResultDto exportSalesReport(ReportQueryDto salesDto);
    /**
     * 由会员id和门店id查询会员交易历史List
     * @Date        :      Sep 25, 2015
     * @param memberId
     * @param dealerId
     * @return
     * @throws AppException
     */
    public  List<TranHistoryDto>  queryTranHistoryListByMemberId(Long memberId,Long dealerId,String carName) throws AppException;
    public SalesReportResultDto querySalesVolume(ReportQueryDto dto);
    public SalesReportResultDto querySalesVolumeDetails(ReportQueryDto dto);
}
